/*  eslint-disable max-lines */
import * as BASE from '@/stores/definitions-base';
import { Input, Switch } from '@alifd/next';
import { t } from '@lingui/macro';
import React from 'react';
import { ellipsisRender } from '@/components/TauTable';

const {
  DATETIME_TEXT,
  DATE_TEXT,
  TIME_TEXT,
  EMPTY_TEXT,
  ENUMS: ENUMSBase,
  FieldsGrid: FieldGridBase,
  TitleGrid,
  column: columnBase,
  toSelectDataSource,
} = BASE;
export { DATETIME_TEXT, DATE_TEXT, EMPTY_TEXT, TIME_TEXT, TitleGrid, toSelectDataSource };

/**
 * @param {*} path        属性path
 * @param {*} props       column属性
 * @returns column定义
 */
export function column(...args) {
  return columnBase(model, ...args);
}

/**
 * 显示一组表单字段
 * ```js
 * {
 *   fields: string[],    // 字段名称，可以使用.来指定嵌套对象属性，例如order.busOrder.shift
 *   columns: number,     // 列数，默认为4,最大为12,最小为1
 *   model: object,       // 字段定义数据模型的根对象，默认不指定，仅在使用子对象作为根模型时设置
 *   overrideModel: object, // 重载字段定义数据模型
 *   mode: string,        // 表单模式，默认为edit，可选view
 *   itemLayout: object,  // FormItem布局配置，默认为{}
 * }
 * ```
 *
 * @param {object} param0
 * @returns
 */
export function FieldsGrid(props) {
  return <FieldGridBase model={model} {...props} />;
}

//----------------------------------------------------------------------
export const ENUMS = {
  ...ENUMSBase,
  orderType: {
    1: t`包车类型`,
    2: t`专线类型`,
    3: t`巴士类型`,
  },
  //  0-已取消 1-已支付 2-已完成 3-其他
  orderStatus: {
    0: t`已取消`,
    1: t`已支付`,
    2: t`已完成`,
    3: t`其他`,
  },
  refundStatus: {
    0: t`未退款`,
    1: t`已退款`,
  },
  busOrderType: {
    0: t`OPEN票`,
    1: t`普通票`,
    undefined: t`普通票`,
  },
  ccOrderStatus: {
    0: t`已取消`,
    1: t`已支付`,
    2: t`进行中`,
    3: t`已完成`,
  },
};

/**
 * 模型定义：
 * 1. 普通文本仅需要定义label
 * 2. 需要通过枚举转换的值，定义text; 当使用renderer返回组件时，text属性无效，需要通过组件的renderPreview来指定预览时的绘制方式
 * 3. 通用的ui属性需要定制时，定义ui; 特定模式(view, edit, add)下的ui，添加后缀定义为ui_<mode>，例如：ui_view, ui_edit, ui_add, ui_table
 * 4. ui可配置属性包括:
 *    renderer: 内容渲染函数, Form表单中的原型为：(value: any, formData: any, fieldDefinition: any) => ReactNode; Table Column中的原型为: (value: any, columnIndex: number, rowData: any) => ReactNode;
 *    itemProps: 表单Form.Item的属性，可以是对象，或函数({ isPreview: boolean, mode: string, value: any, formData: any, ...otherDefinitions}) => void;
 *    span: Grid Cell占用的列数, 默认为1
 *
 * 【注】获取接口的model定义后，vscode中通过正则替换：^(\s+)"label": "([^']+)"  ===> $1label: t`$2`
 */
export const model = {
  companyName: {
    label: t`公司名称`,
  },
  company: {
    name: {
      label: t`公司名称`,
    },
  },
  partnerName: {
    label: t`合伙人名称`,
  },
  merchantName: {
    label: t`商户名称`,
  },
  orderNumber: {
    label: t`订单编号`,
  },
  discountPrice: {
    label: t`折扣金额`,
  },
  merchant: {
    label: t`关联商户`,
  },
  merchantPrice: {
    label: t`商户价格`,
  },
  merchantRootPrice: {
    label: t`商户基础价`,
  },
  taskIds: [{
    label: t`任务关联id`,
  }],
  completionTime: {
    label: t`完成时间`,
  },
  orderChangeRemarks: {
    label: t`订单变更备注`,
  },
  username: {
    label: t`操作人账号`,
  },
  rsOrder: {
    label: t`拼车订单`,
    sendSms: {
      label: t`是否发送过短信<br/> 0-未发送<br/> 1-发送过派车短信`,
    },
    orderNo: {
      label: t`订单编号，自动生成，规则：CCOYYYYMMDDHHMMSS+3位数字`,
    },
    startCarpoolCount: {
      label: t`起拼人数`,
    },
    priceDifference: {
      label: t`差价`,
    },
    realTime: {
      label: t`实时订单标记为司机执行服务前提醒确认定时任务使用`,
    },
    companyId: {
      label: t`公司id`,
    },
    partnerId: {
      label: t`合伙人id 0-表示平台`,
    },
    orderStatus: {
      label: t`订单状态 0-已取消 1-已支付 2-进行中 3-已完成`,
    },
    payTime: {
      label: t`支付时间`,
    },
    payType: {
      label: t`支付方式，0 - 微信支付 , 1 - 支付宝`,
    },
    appId: {
      label: t`appid`,
    },
    rootPrice: {
      label: t`线路基础价`,
    },
    orderOptionType: {
      label: t`订单选项类型，0 - 全程通车；1 - 关口分车`,
    },
    beginDate: {
      label: t`开始时间`,
    },
    endDate: {
      label: t`结束时间`,
    },
    mainPlate: {
      label: t`大陆车牌`,
    },
    minorPlate: {
      label: t`港澳车牌`,
    },
    vehicleType: {
      label: t`车型，0 - 丰田埃尔法； 1 - 奔驰`,
    },
    remarks: {
      label: t`备注信息`,
    },
    attachments: [{
      label: t`附件`,
      title: {
        label: t`附件标题`,
      },
      description: {
        label: t`附件说明`,
      },
      binaryId: [{
        label: t`附件id`,
      }],
    }],
    directRoute: {
      label: t`是否直达线路订单`,
    },
    ticketInfos: [{
      label: t`车票信息`,
      isSms: {
        label: t`是否发送过通知<br/> 0-未发过任何通知<br/> 1-发送过是否取消成团通知<br/> 2-发送过是否取消成团通知和已成团通知`,
      },
      operatingTicketCode: {
        label: t`运营公司车票号`,
      },
      operatingTakeTicketCode: {
        label: t`运营公司取票号`,
      },
      ticketPrice: {
        label: t`票价`,
      },
      operatingTicketPrice: {
        label: t`运营公司票价`,
      },
      writeOff: {
        label: t`0：未核销,1：已核销`,
      },
      writeOffUser: {
        label: t`核销人`,
      },
      writeOffDate: {
        label: t`核销时间`,
      },
      operatingState: {
        label: t`中港通状态 0-状态未知 1-新票未售 2-已售未取 3-已取未用<br/> 5-已乘车扫描未转乘 6-已扫描 7-车票已过期 8-车票已停用 9-车票已作废 10-已退票`,
      },
      state: {
        label: t`状态 0-已取消 1-未乘车 2-已乘车 3-已完成 4-其他 5-已过期`,
      },
      ignore: {
        label: t`是否忽略<br/> - false 不忽略，不在申请退款中且中港通已退款则会显示在申请取消列表中<br/> - true 忽略`,
      },
      stateName: {
        label: t`状态名称`,
      },
      ticketCode: {
        label: t`车票号`,
      },
      takeTicketCode: {
        label: t`取票号`,
      },
      seats: {
        label: t`座位号`,
      },
      operatorRefundTime: {
        label: t`运营商退款时间`,
      },
      report: {
        label: '',
      },
    }],
    flightNumber: {
      label: t`航班号`,
    },
    orderType: {
      label: t`订单类型，0 - 点对点；1 - 时租`,
    },
    vehicleId: {
      label: t`车辆id`,
    },
    driverId: {
      label: t`司机id`,
    },
    driverName: {
      label: t`司机名`,
    },
    language: [{
      label: t`语言要求`,
    }],
    passengerName: {
      label: t`乘坐人`,
    },
    passengerPhone: {
      label: t`乘坐人电话`,
    },
    subscribeName: {
      label: t`预约人`,
    },
    subscribePhone: {
      label: t`预约人电话`,
    },
    number: {
      label: t`人数`,
    },
    numberOfLuggage: {
      label: t`行李数`,
    },
    startMainArea: {
      label: t`开始城市编号`,
    },
    startMinorArea: {
      label: t`开始区域编号`,
    },
    startStationName: {
      label: t`开始站点名称`,
    },
    endMainArea: {
      label: t`结束城市编号`,
    },
    endMinorArea: {
      label: t`结束区域编号`,
    },
    endStationName: {
      label: t`结束站点名称`,
    },
    predictBeginDate: {
      label: t`预估开始时间`,
      text: DATETIME_TEXT,
    },
    predictEndDate: {
      label: t`预估结束时间`,
    },
    isPass: {
      label: t`是否过关`,
    },
    portType: {
      label: t`口岸类型，0 - 深圳湾口岸；1 - 澳门口岸；2 - 珠海口岸`,
    },
    isMap: {
      label: t`需要地图链接`,
    },
    predictTime: {
      label: t`预估时长`,
    },
    mileage: {
      label: t`里程`,
    },
    beginName: {
      label: t`开始地址`,
    },
    beginTude: {
      label: t`开始地址经纬度`,
    },
    endName: {
      label: t`结束地址`,
    },
    endTude: {
      label: t`结束地址经纬度`,
    },
    surcharges: [{
      label: t`附加费列表`,
    }],
    roadFee: {
      label: t`路桥费`,
    },
    oilFee: {
      label: t`加油费`,
    },
    partFee: {
      label: t`停车费`,
    },
    repairFee: {
      label: t`维修费`,
    },
    otherFee: {
      label: t`其他费用`,
    },
    surchargeExplain: {
      label: t`附加费说明`,
    },
    addFee: {
      label: t`附加总费用`,
    },
    surchargePayStatus: {
      label: t`附加费支付状态，0 - 未支付；1 - 已支付；`,
    },
    surchargePayUrl: {
      label: t`附加费微信支付地址`,
    },
  },
  ccOrder: {
    label: t`包车订单`,
    orderNo: {
      label: t`订单编号，自动生成，规则：CCOYYYYMMDDHHMMSS+3位数字`,
    },
    // 新增字段
    routeText: {
      label: t`开始/结束区域`,
      text: (v, order) => <>{ellipsisRender(`${order.ccOrder.startMinorAreaText}`)}<br />{ellipsisRender(`${order.ccOrder.endMinorAreaText}`)}</>,
    },
    carDescription: {
      label: t`用车描述`,
    },
    priceDifference: {
      label: t`差价`,
    },
    realTime: {
      label: t`实时订单标记为司机执行服务前提醒确认定时任务使用`,
    },
    dispatchTime: {
      label: t`派车时间`,
    },
    isManual: {
      label: t`是否手工派单`,
    },
    directionalCompanies: [{
      label: t`扫码定向承运商集合`,
    }],
    companyId: {
      label: t`公司id`,
    },
    dailySettleId: {
      label: t`日结Id`,
    },
    monthlySettleId: {
      label: t`月结Id`,
    },
    partnerId: {
      label: t`合伙人id 0-表示平台`,
    },
    orderStatus: {
      label: t`订单状态`,
      text: (v) => ENUMS.ccOrderStatus[v],
    },
    payTime: {
      label: t`支付时间`,
    },
    refundTime: {
      label: t`退款时间`,
    },
    cancelOrderTime: {
      label: t`取消订单时间`,
    },
    cancelRemark: {
      label: t`取消订单备注`,
    },
    payType: {
      label: t`支付方式，0 - 微信支付 , 1 - 支付宝`,
    },
    appId: {
      label: t`appid`,
    },
    rootPrice: {
      label: t`线路基础价`,
    },
    orderFromType: {
      label: t`订单来源 0-微信 1-后台下单 2-h5商户下单`,
    },
    orderOptionType: {
      label: t`订单选项类型，0 - 全程通车；1 - 关口分车`,
    },
    beginDate: {
      label: t`开始时间`,
    },
    endDate: {
      label: t`结束时间`,
    },
    mainPlate: {
      label: t`大陆车牌`,
    },
    minorPlate: {
      label: t`港澳车牌`,
    },
    vehicleType: {
      label: t`车型，0 - 丰田埃尔法； 1 - 奔驰`,
    },
    location: {
      label: t`定位提醒`,
    },
    remarks: {
      label: t`备注信息`,
    },
    attachments: [{
      label: t`附件`,
      title: {
        label: t`附件标题`,
      },
      description: {
        label: t`附件说明`,
      },
      binaryId: [{
        label: t`附件id`,
      }],
    }],
    directRoute: {
      label: t`是否直达线路订单`,
    },
    transferLinePrice: {
      label: t`换乘方案信息`,
      dockingStation: {
        label: t`指定接泊站点`,
      },
      fromRoute: {
        label: t`起始线路`,
        routePrice: {
          label: t`关联价格线路`,
        },
        companyId: {
          label: t`承运商id`,
        },
        companyIds: [{
          label: t`所有可跑承运商id集合`,
        }],
        companyName: {
          label: t`承运商名称`,
        },
        predictTime: {
          label: t`预估时长`,
        },
        mileage: {
          label: t`预估里程`,
        },
      },
      toRoute: {
        label: t`结束线路`,
        routePrice: {
          label: t`关联价格线路`,
        },
        companyId: {
          label: t`承运商id`,
        },
        companyIds: [{
          label: t`所有可跑承运商id集合`,
        }],
        companyName: {
          label: t`承运商名称`,
        },
        predictTime: {
          label: t`预估时长`,
        },
        mileage: {
          label: t`预估里程`,
        },
      },
      price: {
        label: t`换乘总价`,
      },
      rootPrice: {
        label: t`换乘基础价`,
      },
    },
    flightNumber: {
      label: t`航班号`,
    },
    orderType: {
      label: t`订单类型，0 - 点对点；1 - 时租`,
    },
    vehicleId: {
      label: t`车辆id`,
    },
    driverId: {
      label: t`司机id`,
    },
    driverName: {
      label: t`司机名`,
    },
    language: [{
      label: t`语言要求`,
    }],
    passengerName: {
      label: t`乘坐人`,
    },
    passengerPhone: {
      label: t`乘坐人电话`,
    },
    subscribeName: {
      label: t`预约人`,
    },
    subscribePhone: {
      label: t`预约人电话`,
    },
    number: {
      label: t`人数`,
    },
    numberOfLuggage: {
      label: t`行李数`,
    },
    startMainArea: {
      label: t`开始城市编号`,
    },
    startMinorArea: {
      label: t`开始区域编号`,
    },
    startStationName: {
      label: t`开始站点名称`,
    },
    endMainArea: {
      label: t`结束城市编号`,
    },
    endMinorArea: {
      label: t`结束区域编号`,
    },
    endStationName: {
      label: t`结束站点名称`,
    },
    predictBeginDate: {
      label: t`预估开始时间`,
      text: DATETIME_TEXT,
    },
    predictEndDate: {
      label: t`预估结束时间`,
    },
    isPass: {
      label: t`是否过关`,
    },
    portType: {
      label: t`口岸类型，0 - 深圳湾口岸；1 - 澳门口岸；2 - 珠海口岸`,
    },
    isMap: {
      label: t`需要地图链接`,
    },
    predictTime: {
      label: t`预估时长`,
    },
    mileage: {
      label: t`里程`,
    },
    beginName: {
      label: t`开始地址`,
    },
    beginTude: {
      label: t`开始地址经纬度`,
    },
    endName: {
      label: t`结束地址`,
    },
    endTude: {
      label: t`结束地址经纬度`,
    },
    surcharges: [{
      label: t`附加费列表`,
    }],
    roadFee: {
      label: t`路桥费`,
    },
    oilFee: {
      label: t`加油费`,
    },
    partFee: {
      label: t`停车费`,
    },
    repairFee: {
      label: t`维修费`,
    },
    otherFee: {
      label: t`其他费用`,
    },
    surchargeExplain: {
      label: t`附加费说明`,
    },
    addFee: {
      label: t`附加总费用`,
    },
    surchargePayStatus: {
      label: t`附加费支付状态，0 - 未支付；1 - 已支付；`,
    },
    surchargePayUrl: {
      label: t`附加费微信支付地址`,
    },
  },
  beginAreaName: {
    label: t`始发站点`,
    text: (v) => ellipsisRender(v),
  },
  endAreaName: {
    label: t`结束站点`,
    text: (v) => ellipsisRender(v),
  },
  scOrder: {
    label: t`专线订单`,
    orderNo: {
      label: t`订单编号，自动生成，规则：CCOYYYYMMDDHHMMSS+3位数字`,
    },
    operatingOrderId: {
      label: t`运营公司订单id`,
    },
    operatingCompanyId: {
      label: t`运营公司id`,
    },
    companyId: {
      label: t`公司id`,
    },
    dailySettleId: {
      label: t`日结Id`,
    },
    monthlySettleId: {
      label: t`月结Id`,
    },
    linkRoutePrice: {
      label: t`关联线路价格`,
    },
    orderStatus: {
      label: t`订单状态`,
      text: (v) => ENUMS.orderStatus[v],
    },
    partnerId: {
      label: t`合伙人id`,
    },
    orderFromType: {
      label: t`订单来源 0 - 微信 , 1 - 后台下单`,
    },
    rootPrice: {
      label: t`线路基础价`,
    },
    payType: {
      label: t`支付方式，0 - 微信支付 , 1 - 支付宝`,
    },
    appId: {
      label: t`appid`,
    },
    payTime: {
      label: t`支付时间`,
      text: DATETIME_TEXT,
    },
    refundTime: {
      label: t`退款时间`,
    },
    cancelOrderTime: {
      label: t`取消订单时间`,
    },
    cancelRemark: {
      label: t`取消订单备注`,
    },
    refundPrice: {
      label: t`退款金额`,
    },
    refundStatus: {
      label: t`退款状态，0 - 未退款；1 - 已退款`,
    },
    refundRemark: {
      label: t`退款备注`,
    },
    ticketInfo: [{
      label: t`车票信息`,
      isSms: {
        label: t`是否发送过通知<br/> 0-未发过任何通知<br/> 1-发送过是否取消成团通知<br/> 2-发送过是否取消成团通知和已成团通知`,
      },
      operatingTicketCode: {
        label: t`运营公司车票号`,
      },
      operatingTakeTicketCode: {
        label: t`运营公司取票号`,
      },
      ticketPrice: {
        label: t`票价`,
      },
      operatingTicketPrice: {
        label: t`运营公司票价`,
      },
      writeOff: {
        label: t`0：未核销,1：已核销`,
      },
      writeOffUser: {
        label: t`核销人`,
      },
      writeOffDate: {
        label: t`核销时间`,
      },
      operatingState: {
        label: t`中港通状态 0-状态未知 1-新票未售 2-已售未取 3-已取未用<br/> 5-已乘车扫描未转乘 6-已扫描 7-车票已过期 8-车票已停用 9-车票已作废 10-已退票`,
      },
      state: {
        label: t`状态 0-已取消 1-未乘车 2-已乘车 3-已完成 4-其他 5-已过期`,
      },
      ignore: {
        label: t`是否忽略<br/> - false 不忽略，不在申请退款中且中港通已退款则会显示在申请取消列表中<br/> - true 忽略`,
      },
      stateName: {
        label: t`状态名称`,
      },
      ticketCode: {
        label: t`车票号`,
      },
      takeTicketCode: {
        label: t`取票号`,
      },
      seats: {
        label: t`座位号`,
      },
      operatorRefundTime: {
        label: t`运营商退款时间`,
      },
      report: {
        label: '',
      },
    }],
    shiftTime: {
      label: t`班次时间`,
      text: DATETIME_TEXT,
    },
    remarks: {
      label: t`备注信息`,
    },
    consoleRemarks: {
      label: t`控制台备注信息`,
    },
    flightNumber: {
      label: t`航班号`,
    },
    orderType: {
      label: t`订单类型，0 - 点对点；1 - 时租`,
    },
    vehicleId: {
      label: t`车辆id`,
    },
    driverId: {
      label: t`司机id`,
    },
    driverName: {
      label: t`司机名`,
    },
    language: [{
      label: t`语言要求`,
    }],
    passengerName: {
      label: t`乘坐人`,
    },
    passengerPhone: {
      label: t`乘坐人电话`,
    },
    subscribeName: {
      label: t`预约人`,
      text: (v, r) => <span>{`${v}(${r?.scOrder?.subscribePhone})`}</span>
    },
    subscribePhone: {
      label: t`预约人电话`,
    },
    number: {
      label: t`人数`,
    },
    numberOfLuggage: {
      label: t`行李数`,
    },
    startMainArea: {
      label: t`开始城市编号`,
    },
    startMainAreaText: {
      label: t`开始城市`,
    },
    startMinorArea: {
      label: t`开始区域编号`,
    },
    startStationName: {
      label: t`开始站点名称`,
    },
    endMainArea: {
      label: t`结束城市编号`,
    },
    endMainAreaText: {
      label: t`结束城市`,
    },
    endMinorArea: {
      label: t`结束区域编号`,
    },
    endStationName: {
      label: t`结束站点名称`,
    },
    predictBeginDate: {
      label: t`预估开始时间`,
      text: DATETIME_TEXT,
    },
    predictEndDate: {
      label: t`预估结束时间`,
    },
    isPass: {
      label: t`是否过关`,
    },
    portType: {
      label: t`口岸类型，0 - 深圳湾口岸；1 - 澳门口岸；2 - 珠海口岸`,
    },
    isMap: {
      label: t`需要地图链接`,
    },
    predictTime: {
      label: t`预估时长`,
    },
    mileage: {
      label: t`里程`,
    },
    beginName: {
      label: t`开始地址`,
    },
    beginTude: {
      label: t`开始地址经纬度`,
    },
    endName: {
      label: t`结束地址`,
    },
    endTude: {
      label: t`结束地址经纬度`,
    },
    surcharges: [{
      label: t`附加费列表`,
    }],
    roadFee: {
      label: t`路桥费`,
    },
    oilFee: {
      label: t`加油费`,
    },
    partFee: {
      label: t`停车费`,
    },
    repairFee: {
      label: t`维修费`,
    },
    otherFee: {
      label: t`其他费用`,
    },
    surchargeExplain: {
      label: t`附加费说明`,
    },
    addFee: {
      label: t`附加总费用`,
    },
    surchargePayStatus: {
      label: t`附加费支付状态，0 - 未支付；1 - 已支付；`,
    },
    surchargePayUrl: {
      label: t`附加费微信支付地址`,
    },
  },
  busOrder: {
    label: t`巴士订单`,
    type: {
      label: t`类型`,
      text: (v) => ENUMS.busOrderType[v],
    },
    orderStatus: {
      label: t`订单状态`,
      text: (v) => ENUMS.orderStatus[v],
    },
    routeText: { // 前端新增字段
      label: t`线路`,
      text: (v, { busOrder }) => `${busOrder?.from?.stationName}-${busOrder?.to?.stationName}`,
      ui_table: {
        renderer: ellipsisRender,
      },
    },
    payTime: {
      label: t`支付时间`,
    },
    payType: {
      label: t`支付方式，0 - 微信支付 , 1 - 支付宝`,
    },
    appId: {
      label: t`appid`,
    },
    orderFromType: {
      label: t`订单来源 0 - 微信 , 1 - 后台下单`,
    },
    cancelOrderTime: {
      label: t`取消订单时间`,
    },
    cancelRemark: {
      label: t`取消订单备注`,
    },
    refundTime: {
      label: t`退款时间`,
    },
    refundPrice: {
      label: t`退款金额（退给用户的）`,
    },
    settlementRatio: {
      label: t`退款结算比例`,
    },
    refundRemark: {
      label: t`退款备注`,
    },
    orderId: {
      label: t`第三方公司对应订单id`,
    },
    cost: {
      label: t`与公司结算价格`,
    },
    companyId: {
      label: t`公司id`,
    },
    directionalCompany: {
      label: t`定向公司id`,
    },
    companyName: {
      label: t`公司名称`,
    },
    agent: {
      label: t`代理商`,
    },
    effTime: {
      label: t`有效时间`,
    },
    from: {
      label: t`去程开始信息`,
      city: {
        label: t`城市（字典项id）`,
      },
      station: {
        label: t`站点id`,
      },
      stationName: {
        label: t`站点名称`,
      },
      onAddress: {
        label: t`详细上车站点地址`,
      },
      offAddress: {
        label: t`详细下车站点地址`,
      },
    },
    to: {
      label: t`去程结束信息`,
      city: {
        label: t`城市（字典项id）`,
      },
      station: {
        label: t`站点id`,
      },
      stationName: {
        label: t`站点名称`,
      },
      onAddress: {
        label: t`详细上车站点地址`,
      },
      offAddress: {
        label: t`详细下车站点地址`,
      },
    },
    returnFrom: {
      label: t`回程开始信息`,
      city: {
        label: t`城市（字典项id）`,
      },
      station: {
        label: t`站点id`,
      },
      stationName: {
        label: t`站点名称`,
      },
      onAddress: {
        label: t`详细上车站点地址`,
      },
      offAddress: {
        label: t`详细下车站点地址`,
      },
    },
    returnTo: {
      label: t`回程结束信息`,
      city: {
        label: t`城市（字典项id）`,
      },
      station: {
        label: t`站点id`,
      },
      stationName: {
        label: t`站点名称`,
      },
      onAddress: {
        label: t`详细上车站点地址`,
      },
      offAddress: {
        label: t`详细下车站点地址`,
      },
    },
    isOpen: {
      label: t`去程是否open票`,
    },
    returnIsOpen: {
      label: t`回程是否open票`,
    },
    isRoundTrip: {
      label: t`是否往返票`,
    },
    collectorName: {
      label: t`取票人名称`,
    },
    collectorPhone: {
      label: t`取票人电话`,
    },
    partnerId: {
      label: t`合伙人id(如果是扫合伙人的码进来的则需要把信息带上不是则为空)`,
    },
    fullname: {
      label: t`下单人姓名(平台用户),不传则使用当前登录人`,
    },
    username: {
      label: t`下单人(平台用户),不传则使用当前登录人`,
    },
    phone: {
      label: t`下单人电话(平台用户),不传则使用当前登录人`,
    },
    currencyId: {
      label: t`币种`,
    },
    shift: {
      label: t`去程班次信息`,
      date: {
        label: t`去程日期 发车日期`,
        text: DATETIME_TEXT,
      },
      companyId: {
        label: t`公司id`,
      },
      companyName: {
        label: t`公司名称`,
      },
      scheduleId: {
        label: t`班次id`,
      },
    },
    returnShift: {
      label: t`回程班次信息`,
      date: {
        label: t`去程日期 发车日期`,
      },
      companyId: {
        label: t`公司id`,
      },
      companyName: {
        label: t`公司名称`,
      },
      scheduleId: {
        label: t`班次id`,
      },
    },
    priceType: {
      label: t`价格应用界面（目前wechat方式购票传递wechat，其他的传递传空值或者不传。）`,
    },
    prices: [{
      label: t`班次下票种价格枚举`,
      fee: {
        label: t`价格`,
      },
      isReturn: {
        label: t`单双程0：单，1：双`,
      },
      lawTicketType: {
        label: t`价格级别`,
      },
      priceId: {
        label: t`票价 id`,
      },
      stdPrivFlg: {
        label: t`票价类型 0 优惠 、1 标准`,
      },
      ticketCategoryId: {
        label: t`路线票种 ID 确定票种，票价类型 票类及价格（包括币种）`,
      },
      ticketCategoryName: {
        label: t`票种名称`,
      },
      ticketType: {
        label: t`票价类型名称`,
      },
      ticketTypeId: {
        label: t`票种类型id`,
      },
      ticketCategoryLineId: {
        label: t`路线票种id`,
      },
    }],
    orderDetails: [{
      label: t`订单车票每程详情列表`,
      passenger: {
        label: t`乘客姓名(如果没有选择乘客这里的数据填 ZAKC)`,
      },
      passengerTel: {
        label: t`乘客联系电话(如果没有选择乘客这里的数据填 12345678900)`,
      },
      busTicketType: {
        label: t`票种类型（必填）`,
      },
      ticketCategoryLineId: {
        label: t`线路票种价格（必填）`,
      },
      passengerEmail: {
        label: t`电子邮箱（可不填）`,
      },
      passengerFlightNo: {
        label: t`航班号码（可不填）`,
      },
      idCard: {
        label: t`身份证号（可不填）`,
      },
      directorIdType: {
        label: t`身份证类型（可不填）`,
      },
      isReturn: {
        label: t`是否回程 0：去程，1：回程`,
      },
      price: {
        label: t`协议票价`,
      },
      priceId: {
        label: t`关联价格定义中的标识`,
      },
      relatedTicket: {
        label: t`关联回程票号与回程, 回程取票后填写在此处`,
      },
      busScheduleId: {
        label: t`预定班次编号`,
      },
      shiftTime: {
        label: t`预定班次时间`,
      },
      runDate: {
        label: t`行程日期`,
      },
      runTime: {
        label: t`行程时间`,
      },
      checkIn: {
        label: t`上车班次信息`,
        busScheduleId: {
          label: t`实际班次编号`,
        },
        checkInTime: {
          label: t`上车时间`,
        },
        ticketChecker: {
          label: t`验票员`,
        },
      },
      operatingState: {
        label: t`中港通状态 0-状态未知 1-新票未售 2-已售未取 3-已取未用<br/> 5-已乘车扫描未转乘 6-已扫描 7-车票已过期 8-车票已停用 9-车票已作废 10-已退票`,
      },
      state: {
        label: t`状态 0-已取消 1-未乘车 2-已乘车 3-已完成 4-其他 5-已过期`,
      },
      ignore: {
        label: t`是否忽略<br/> - false 不忽略，不在申请退款中且中港通已退款则会显示在申请取消列表中<br/> - true 忽略`,
      },
      stateName: {
        label: t`状态名称`,
      },
      ticketCode: {
        label: t`车票号`,
      },
      takeTicketCode: {
        label: t`取票号`,
      },
      seats: {
        label: t`座位号`,
      },
      operatorRefundTime: {
        label: t`运营商退款时间`,
      },
      report: {
        label: '',
      },
    }],
    remarks: {
      label: t`备注信息`,
    },
    consoleRemarks: {
      label: t`控制台备注信息`,
    },
  },
  transactionId: {
    label: t`微信支付订单号`,
  },
  prepayId: {
    label: t`微信预支付生成的标识<br/> 首次发起支付时生成，支付过程中断后再次支付时提供`,
  },
  price: {
    label: t`价格`,
    text: (v) => v.toFixed(2),
  },
  originalPrice: {
    label: t`原价`,
  },
  discount: {
    label: t`折扣`,
  },
  currency: {
    label: t`币种<br/> - RMB<br/> - HKD<br/> - MOP`,
  },
  orderType: {
    label: t`订单类型<br/> - 1 包车订单<br/> - 2 专线订单<br/> - 3 巴士订单<br/> - 4 拼车订单`,
  },
  relation: {
    label: t`关联订单<br/> 记录发起返空线路的原订单。不为空则表示为特惠订单。`,
  },
  notices: [{
    label: t`通知控制信息<br/> 第二次将不发送通知`,
  }],
  settlementId: {
    label: t`结算id`,
  },
  enableProfitShare: {
    label: t`是否开启分账`,
  },
  partnerProfitShare: {
    label: t`合伙人是否需要分账`,
  },
  unfrozenFunds: {
    label: t`是否解冻资金`,
  },
  closingOfDistribution: {
    label: t`是否分账结束`,
  },
  accountRequestInfos: [{
    label: t`分账请求信息列表`,
    appId: {
      label: t`appId`,
    },
    id: {
      label: t`订单id`,
    },
    transactionId: {
      label: t`微信支付订单号`,
    },
    outOrderNo: {
      label: t`商户系统内部的分账单号`,
    },
    orderId: {
      label: t`微信分账单号,微信支付系统返回的唯一标识`,
    },
    state: {
      label: t`分账单状态（每个接收方的分账结果请查看receivers中的result字段）<br/> 1、PROCESSING：处理中<br/> 2、FINISHED：分账完成`,
    },
    receivers: [{
      label: t`分账方信息列表`,
      type: {
        label: t`分账接收方类型<br/> 1、MERCHANT_ID：商户号<br/> 2、PERSONAL_OPENID：个人openid（由父商户APPID转换得到）`,
      },
      description: {
        label: t`分账的原因描述，分账账单中需要体现`,
      },
      account: {
        label: t`分账接收方账号：<br/> 1、类型是MERCHANT_ID时，是商户号（mch_id或者sub_mch_id）<br/> 2、类型是PERSONAL_OPENID时，是个人openid`,
      },
      username: {
        label: t`合伙人 / 公司 / 司机`,
      },
      name: {
        label: t`合伙人名 / 公司名 / 司机`,
      },
      userType: {
        label: t`身份 1-合伙人 2-公司 3-司机`,
      },
      amount: {
        label: t`分账金额 单位为分，只能为整数，不能超过原订单支付金额及最大分账比例金额`,
      },
      result: {
        label: t`分账结果<br/> 1、PENDING：待分账<br/> 2、SUCCESS：分账成功<br/> 3、CLOSED：已关闭`,
      },
      failReason: {
        label: t`分账失败原因，当分账结果result为CLOSED（已关闭）时，返回该字段<br/> 1、ACCOUNT_ABNORMAL：分账接收账户异常<br/> 2、NO_RELATION：分账关系已解除<br/> 3、RECEIVER_HIGH_RISK：高风险接收方<br/> 4、RECEIVER_REAL_NAME_NOT_VERIFIED：接收方未实名<br/> 5、NO_AUTH：分账权限已解除<br/> 6、RECEIVER_RECEIPT_LIMIT：接收方已达收款限额<br/> 7、PAYER_ACCOUNT_ABNORMAL：分出方账户异常`,
      },
      detailId: {
        label: t`微信分账明细单号`,
      },
      inflowPlatform: {
        label: t`这笔资金是否放回平台`,
      },
      redistribute: {
        label: t`重新分账信息`,
        outOrderNo: {
          label: t`商户系统内部的分账单号`,
        },
        orderId: {
          label: t`微信分账单号,微信支付系统返回的唯一标识`,
        },
        state: {
          label: t`分账单状态（每个接收方的分账结果请查看receivers中的result字段）<br/> 1、PROCESSING：处理中<br/> 2、FINISHED：分账完成`,
        },
        result: {
          label: t`分账结果<br/> 1、PENDING：待分账<br/> 2、SUCCESS：分账成功<br/> 3、CLOSED：已关闭`,
        },
        failReason: {
          label: t`分账失败原因，当分账结果result为CLOSED（已关闭）时，返回该字段`,
        },
        detailId: {
          label: t`微信分账明细单号`,
        },
      },
    }],
  }],
  refundInfos: [{
    label: t`暂时保留的退款信息`,
    applicationId: {
      label: t`申请编号<br/> S + 年月日 + 自增编号`,
    },
    state: {
      label: t`申请状态<br/> - 0 已驳回<br/> - 1 申请中<br/> - 2 已提交<br/> 前端提交`,
    },
    refundId: {
      label: t`退款流水号`,
    },
    type: {
      label: t`退款类型<br/> - 0 车票类型<br/> - 1 取消订单<br/> - 2 其他类型`,
    },
    refunded: {
      label: t`是否退款<br/> - false 未退款<br/> - true 已退款`,
    },
    refundTime: {
      label: t`实际退款时间`,
    },
    distanceTime: {
      label: t`距离时间`,
    },
    cancelTime: {
      label: t`申请取消时间`,
    },
    refundPrice: {
      label: t`申请退款金额`,
    },
    cancelRemark: {
      label: t`申请说明`,
    },
    rejectRemark: {
      label: t`驳回说明`,
    },
    rejectTime: {
      label: t`驳回时间`,
    },
    attachments: [{
      label: t`附件`,
      title: {
        label: t`附件标题`,
      },
      description: {
        label: t`附件说明`,
      },
      binaryId: [{
        label: t`附件id`,
      }],
    }],
    ticketRefundInfos: [{
      label: t`车票退款信息`,
      ticketCode: {
        label: t`车票号`,
      },
      cancelTicket: {
        label: t`是否取消车票<br/> false - 不取消<br/> true - 取消`,
      },
      isReturn: {
        label: t`是否回程 0：去程，1：回程`,
      },
      passengerName: {
        label: t`乘客名`,
      },
      originalPrice: {
        label: t`原票价`,
      },
      serviceCharge: {
        label: t`手续费`,
      },
      operatingState: {
        label: t`中港通状态`,
      },
      state: {
        label: t`车票状态`,
      },
      refundPrice: {
        label: t`退款金额`,
      },
      operatorRefundPrice: {
        label: t`中港通退款金额`,
      },
      operatorRefundTime: {
        label: t`运营商退款时间`,
      },
    }],
  }],
  remark: {
    label: t`控制台备注`,
  },
  source: {
    label: t`订单来源`,
    targetType: {
      label: t`帐户类型<br/> 由调用方根据分账方身份类型定义，例如：COMPANY,PARTNER,CHANNEL等`,
    },
    targetId: {
      label: t`targetType下的帐户标识`,
    },
    targetName: {
      label: t`帐户名`,
    },
  },
  activity: {
    label: t`活动编号`,
  },
  crBy: {
    label: t`创建者`,
  },
  upBy: {
    label: t`最后修改者`,
  },
  crDate: {
    label: t`创建时间`,
    text: DATETIME_TEXT,
  },
  upDate: {
    label: t`最后修收时间`,
    text: DATETIME_TEXT,
  },
  tenantId: {
    label: t`租户ID`,
  },
  id: {
    label: '订单号',
  },
};
